package cn.iocoder.yudao.module.wine.controller.admin.guaranteerecord.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import javax.validation.constraints.*;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 保证金记录新增/修改 Request VO")
@Data
public class GuaranteeRecordSaveReqVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "95")
    private Long id;

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "22758")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    @Schema(description = "保证金金额", requiredMode = Schema.RequiredMode.REQUIRED, example = "30079")
    @NotNull(message = "保证金金额不能为空")
    private BigDecimal guaranteePrice;

    @Schema(description = "状态 0 未支付 1 已支付  2已退", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
    @NotNull(message = "状态 0 未支付 1 已支付  2已退不能为空")
    private Integer status;

    @Schema(description = "交易号")
    private String tradeNo;

    @Schema(description = "交易时间")
    private LocalDateTime tradeTime;

    @Schema(description = "团长缴费id")
    private Long teamTypeId;
    /**
     * 备注
     */
    @Schema(description = "备注")
    private String remark;
    /**
     * 开始时间
     */
    @Schema(description = "开始时间")
    @ExcelProperty("开始时间")
    private LocalDateTime startTime;

    @Schema(description = "截止时间")
    private LocalDateTime endTime;

}
